When legislators and government entities draft statutes to regulate commerce, a certain type of legal language is employed to describe the various entities, their relationships, and constraints on behavior of said entities. These drafters often use limiting language and purposeful descriptions to specify the method to which laws, rules, and regulations must be obeyed. Entities affected by these regulations must comply using various means, including the use of computer processing systems to analyze information and determine with simplistic Boolean algebra if the presented information falls within the regulatory guidelines. These tests are authored by computer programmers using a multitude of computer languages on systems of varying size and complexity. All these systems have commonalities, including a limitation that the executable language is transmitted in whole apart from the data it contains. The data may be part (a resource) of the underlying executable program.
By using a compound document type based on XML, or eXtensible Markup Language and a description of the Boolean logic, a document can be created that contains all needed components for validating and processing a particular information sets' compliance with regulatory information directly relevant to the aforementioned document. This compound document contains sections that describe meta-information about the document, data in the form of discrete values, legal terminology, and legal conditions. The complexity of developing such a system involves the production of legal terms and conditions capable of satisfying the demanding exactitude of computer processing systems while maintaining human readability of legal terminology.
This legal terminology must be proved exactly and faithfully represented by the computer system in order to substantiate the human-readable legal text. The legal text binds the actions of the parties to a particular course or courses of action and represents a meeting of the minds. One problem that arises in such a context lies when the user is unsure or confused as to the type or nature of the data needed to complete a document, or what certain sections of the document are meant to accomplish. The traditional method for providing electronic user assistance is generally an online help file available from the applications menu bar. This type of user assistance takes the form of a secondary sub-application that is capable of stand-alone functioning. These types of help applications may not be able to discern the particular area the user needs help in, or the user may not know enough about the issue to specify the proper search terms in the help application. Recently, user assistance application have been embedded within the primary application, usually as a separate window pane, but these embedded applications still require the same type of trigger mechanism or user input as traditional help applications.
What is needed is a system and method for providing user assistance directly in the document which can trigger a help application from graphical icons inserted at specific points in the document.